iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0
AI & Data

深入探索AI模型系列 第 4

【Day 04】 CNN(卷積神經網路Convolution Neural Network)

  • 分享至 

  • xImage
  •  

CNN是一種廣泛應用在電腦視覺上的神經網路,其運作模式會將圖片拆解成紅、綠、藍三原色後,以0~255的像素值代表。接著透過卷積核擷取特徵,最終辨識出物品。

大致上的流程為,圖片經過卷積層獲取特徵再經過池化層強化特徵對比,最終經由在MLP提過的全連接層給出最高機率的判斷結果。

卷積層(Convolution Layer)
https://ithelp.ithome.com.tw/upload/images/20230809/201507847CIrRKbyov.pnghttps://ithelp.ithome.com.tw/upload/images/20230809/20150784koE7ol78un.png

上左圖為一張經過解析的圖片,而右上圖為一卷積核。卷積層所運作的模式非常簡單,也就是將卷積核中心貼合圖片左上角,接著一步一步由左至右、由上至下,直到跑到右下角為止。而每一次所得出結果即為對應像素內的數值相乘之結果。至於位於邊緣的像素會有部分卷積核沒有像素對應,這時我們就會以-1作替代去做相乘。上方卷積核做完的結果便會如下圖。其數值越大(接近1)則代表原圖與卷積核越相近,越小(接近0)則與卷積核相差越遠。

https://ithelp.ithome.com.tw/upload/images/20230809/20150784rOuW8DyHCj.png

池化層(Pooling Layer)
在經過卷積層得出結果過後,接著我們還要透過池化層將特徵給萃取出來,而這個動作會隨著核心(kernel)的步長(stride)使得結果的大小跟著改變。
這邊介紹兩個最常見的池化方法–最大化池化(Max Pooling)和平均池化(Average Pooling)。

(1)最大化池化(Max Pooling)
最大化池化的概念就是將核心內的所有像素只保留最大值,因此做完池化(pooling)的時候,原圖才會跟著變小。而變小的幅度則和所設定的核心步長(stride)有關,以下將以核心大小為3x3,步長為2對於先前卷積層所做出的結果做池化。結果如下圖:
https://ithelp.ithome.com.tw/upload/images/20230809/20150784ucoux7dxma.png

(2)平均池化(Average Pooling)
平均池化的概念跟最大化池化(max pooling)的概念基本相同,只差在平均池華取的是所有核心內的像素平均值。變小的幅度同樣與設定的核心步長(stride)有關,以下同樣以核心大小為3x3,步長為2對於先前卷積層所做出的結果做池化,對比最大化池化(max pooling)的結果。結果如下圖:
https://ithelp.ithome.com.tw/upload/images/20230809/20150784qEndHV6aaS.png

全連接層(Fully Connected Layer)
全連接層的作用在於將最終運算的結果以權重方式加總算出各種分類的機率,如此提供最後的分類結果,如同下圖。
https://ithelp.ithome.com.tw/upload/images/20230809/20150784uysfdxbgH6.png


上一篇
【Day 03】 MLP實作
下一篇
【Day 05】 CNN實作
系列文
深入探索AI模型30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言